KLayout:インバータの設計(回路の検証:LPE & LVS)
メモ
使用したKLayoutのバージョン:0.26.9
(レイアウト作成チュートリアルでは0.26.7でしたが、そのバージョンでも問題ないと思います。)
描いたレイアウトがインバータになっているかどうか、スケマティック(回路図)と比較してチェックするLVS(Layout versus Schematic)を行います。LVSのスクリプトの中にレイアウトからPMOS、NMOSなどの素子を抽出するLPE(Layout Parameter Extraction)が入っています。
LVS実行前の準備
回路図から出力したネットリストを参照ネットリストと呼ぶことにして、参照ネットリストの内容にはKLayoutのLVSで対応していない記述があったり、そのままでは正常にLVSを実行できません。そのため、それらを修正したり、設定するためのマクロ(Ruby)として、get_referenceが用意されています。これの詳しい内容についてはKLayout:OpenRule1umのget_referenceについてをご覧ください。 手順としては、get_referenceを実行して参照ネットリストを選択するだけです。
"Macros"→"OpenRule1um_Macros"→"get_reference: prepare reference netlist and setting file for LVS"を実行します。
https://makelsi.github.io/images/docs/KLayout/inv_LVS_01.png
https://makelsi.github.io/images/docs/KLayout/inv_LVS_02.png
ネットリストを選択するとスクリプトが実行されます。これで、LVSの準備は終わりました。エクスプローラーなどでレイアウトのGDSファイルを置いているフォルダを見ると各種ファイルが生成されています。
https://makelsi.github.io/images/docs/KLayout/inv_LVS_03.png
LVSの実行
LVSを実行します。"Tools"→"LVS""OpenRule1m"→"lvs_digital: mainly use for digital circuit"をクリックします。
https://makelsi.github.io/images/docs/KLayout/inv_LVS_04.png
すると、LVSの実行結果のウィンドウが開かれます。
https://makelsi.github.io/images/docs/KLayout/inv_LVS_05.png
下の画像の矢印の所をクリックしてネットリストを展開します。
https://makelsi.github.io/images/docs/KLayout/inv_LVS_06.png
全てグリーンになっていてLVSをパスすることを確認できました!
https://makelsi.github.io/images/docs/KLayout/inv_LVS_07.png
LVSを実行すると、「(拡張子を除いたGDSファイル名)_output.cir」というレイアウトから抽出されたネットリストも生成されます。(lvs_workのフォルダ内にハードリンク(orシンボリックリンク)のファイルも生成されます。)
ちなみに...バグ?
NMOS、PMOSまで展開すると下の画像のようになってエラーのアイコンが表示されています。これはMOSFETの「S」(Source : ソース)と「D」(Drain:ドレイン)の問題で、レイアウト設計の上では置換可能です。しかしながら、レイアウトのネットリストと参照ネットリストで逆になっているためエラーのアイコンが出ているという状況です。
つまり、レイアウト上のMOSFETのS, Dは区別する必要が無いので2通りあり、そのどちらかに合っていれば問題は無いはずですが、エラーが出てしまっているという状況です。
https://makelsi.github.io/images/docs/KLayout/inv_LVS_08.png
KLayoutの開発者に問い合わせたところ、簡単に言えば「KLayoutはMOSFETのS, Dの置換することに対応しているが、レポートの生成プログラムがそれに対応していなかった」と回答が来ました。次バージョンでバグを修正すると返事がきましたが、0.26.9時点ではまだ修正されていないようです。
全体としてはエラーは出ておらず、大きな問題ではないので無視していいでしょう。
次は...
History
2020/12/3~:Okawa作成。
2021/3/12 Okawa:Ver. 1.0
2021/3/15 Okawa:若干の修正と追記。